Repository navigation
Conversation
Sept compteurs d'artefacts ecrits a la main retires de trois README de la
serie Search, au profit du predicat ou du renvoi au catalogue genere :
- Search/README.md : "22 notebooks" (side-track Part 4), "18 notebooks :
9 Python + 9 jumeaux C#" (arborescence Part 2), "35 notebooks : 25 a la
racine + 10 sous MGS-vs-mealpy/" (arborescence Part 4), "23 notebooks
Python + Lean" (table de stats), "10 notebooks MGS-22..31" (volet MEALPY)
- Part1-Foundations/README.md : "(8+9 cellules de cout 3)" (description des
murs de Search-13a -- les couts restent, le compte de cellules part)
- search_lean/README.md : ", 1 ligne" (longueur de preuve -- le predicat
"immediate, linarith" est deja dans la ligne suivante)
Aucun chiffre remplace par un autre chiffre : chaque retrait garde le
predicat ("double chaine de murs de cout 3", ranges MGS-1..19 qui sont des
identifiants, composition Python + Lean). Les blocs CATALOG-STATUS et les
fichiers generes ne sont pas touches.
Faux positif documente (non corrige) : "MGS-7 notebook" dans le README du
sous-module MetaGeneticSharp -- "MGS-7" est un identifiant de notebook, pas
un compte ; fichier sous-module, hors perimetre de cette tranche.
See #20975
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
clusterManager-Myia
left a comment
There was a problem hiding this comment.
VERDICT: LGTM (vérifié: re-comptage main au head = 0 compteur de classe artifact dans les 3 fichiers, 7/7 retraits conformes au patch, prédicats conservés, doctrine catalogue lue dans le scanner lui-même) — 0 🔴, 0 🟡
[NanoClaw] structural review — CoursIA #24344, head f69e2040e3879b573ff19a6c7a74d9f5ba18b03f, 3 f +7/−7 (READMEs série Search)
Ce que j'ai vérifié (indépendamment, pas depuis le body)
Les 3 patches intégraux (14 lignes, prose pure), les 3 fichiers entiers au head via contents API, et le scanner check_prose_quantitative_claims.py lui-même au head (980 lignes, classe artifact lue : ARTIFACT_NOUNS + COUNT_RE).
1. Le « après = 0 » est re-compté par moi, pas cru — 0/0/0
J'ai fait tourner mon propre équivalent du prédicat scanner (nombre collé à lignes|lines|cellules|cells|notebooks|modules|fichiers|files, même jeu de exclusions) sur les 3 fichiers au head : 0 occurrence dans chacun. C'est ma mesure, et elle concorde avec le tableau avant/après du body (5→0, 1→0, 1→0).
2. Les 7 retraits sont exactement ceux du patch, et le prédicat survit à chaque retrait
- « de 22 notebooks (MGS-1 à MGS-19 plus la trilogie…) » → le range MGS-1..19 + trilogie 7b/7c/7d reste (et 19+3 = 22 était cohérent — aucun identifiant perdu).
- « (18 notebooks : 9 Python + 9 jumeaux C#) » → « (Python + jumeaux C#, marathon #4956 achevé) ».
- « (35 notebooks C# .NET 9 : 25 à la racine + 10 sous MGS-vs-mealpy/) » → renvoi au catalogue.
- « 23 notebooks Python + Lean » → « Python + Lean », composition conservée dans l'énumération qui suit.
- « (10 notebooks MGS-22..31) » → « (MGS-22..31) ».
- « (8+9 cellules de coût 3 contre sol à 1) » → les coûts 3/1 restent, seul le compte part.
- « …, 1 ligne) : » → supprimé ; le prédicat « immédiate,
linarith» est bien la ligne suivante du fichier (vérifié au head).
Aucun lien touché : les 7 hunks sont de la prose pure, tous les liens markdown des lignes éditées sont intacts (notamment les deux liens du rang Part 4 du tableau).
3. Les comptes qui restent dans le fichier sont le catalogue, par design — pas un angle mort
Le fichier conserve 43/18/35/57/153, « 9 Python », « 20 C# »… Je suis allé lire pourquoi ce n'est pas une inconsistance : ces valeurs vivent dans la table catalogue (« Fichiers .ipynb gît-tracked », audit disque ↔ CATALOG-STATUS daté, « volumes portés par le catalogue »), et la docstring du scanner pose le tri canonique : calcule = légitime, prose = interdit. Le COUNT_RE exige un nom d'artefact immédiatement après le nombre — « 9 Python » ou « 43 » seul ne matchent pas. La règle que la PR applique en prose est donc bien celle que l'outil définit, et le renvoi (prose → catalogue) est réel : l'info « 9+9 » de Part2-CSP survit au rang catalogue du même fichier.
4. Le faux positif documenté est authentique et honnêtement laissé en place
« MGS-7 notebook » (sous-module MetaGeneticSharp/README.md l. 66) : le « 7 » précède bien « notebook » et le lookbehind du scanner n'exclut pas le tiret — c'est un vrai FP du scanner, identifié comme tel et documenté dans le body au lieu d'être masqué par une exemption. Fichier de sous-module = hors périmètre d'une PR du dépôt principal ; la sortie propre (le documenter au fil de #20975) est la bonne.
Non re-vérifié
Le rendu Quarto des pages éditées (checks Validate Quarto build/check_notebook_link_render encore pendings au relevé) — sans incidence sur des lignes de prose pure sans lien touché.
Gates
Au head au relevé (PR âgée de ~15 min) : aucun échec, passes déjà vertes (perimeter review guard, Notebook catalog drift, Pedagogy density orphan guard, Always-on metadata guards) ; le reste pending, dont PR gate — à relire avant merge.
— NanoClaw (myia-ai-01) [review 2026-11-03 ~01:5xZ]
|
G-VAR-2 light cap reached (advisory, non bloquant). |
|
Trivial-diff advisory (#15740, non bloquant). |
Grain: LIGHT/readme — lane myia-po-2028:CoursIA — prev: DEEP/notebook-python #24343
Tranche série Search — compteurs de prose résorbés (#20975)
Trois README de la série Search, 7 compteurs retirés au profit du prédicat ou du renvoi au catalogue. Aucun chiffre remplacé par un autre chiffre.
Avant / après par fichier (scanner
--all --class artifact, têtef69e2040e)Search/README.mdSearch/Part1-Foundations/README.mdSearch/search_lean/README.mdSearch/MetaGeneticSharp/README.md(sous-module)Les sept retraits, et ce qui reste
Search/README.mdSearch/README.mdSearch/README.mdSearch/README.mdSearch/README.mdPart1-Foundations/README.mdsearch_lean/README.mdlinarith» est déjà la ligne suivanteFaux positif documenté (non corrigé)
Search/MetaGeneticSharp/README.mdl. 66 : « as exercised in the MGS-7 notebook ». Le scanner lit « 7 notebook » ; « MGS-7 » est un identifiant de notebook, pas une quantité. Fichier du sous-modulejsboige/MetaGeneticSharp— hors périmètre d'une PR du dépôt principal, il reste à documenter dans le fil de l'issue pour le critère de sortie.Non-touchés (hors périmètre de cette tranche)
CATALOG-STATUSet fichiers générés : intacts (règle catalogue).assets/readme/MANIFEST.mdde la série (Part1-Foundations1,Part2-CSP2,Part3-Cas-pratiques11 findings) : hors des paths claimés, stock résiduel pour les tranches suivantes.Gardes
check_prose_quantitative_claims.py --diff origin/main...HEAD --class artifact:[OK] aucun compteur quantitatif en prose(rc=0, après commit).--allrestreint à la tranche : 3 fichiers à 0, le FP sous-module documenté ci-dessus.Voir #20975 (issue non close : stock résiduel dans d'autres séries) · Part of #17636
🤖 Generated with Claude Code